package com.zrh.jsd.service.studydemo.pattern.observer_pattern;

// 概念：定义了一对多的依赖关系，让多个观察者对象同时监听某一个主题对象
// 这个主题对象在状态发生变化时，会通知所有的观察者对象，使他们能够自动更新自己
// 优点：这个观察者和被观察者之间建立了一个抽象的耦合：观察者模式支持广播通信
// 缺点：观察者之间有过多的细节依赖，事件小好多，程序的复杂性更高；使用不当会出现循环调用。
public class ObserveTest {
    public static void main(String[] args) {
        // 被观察者
        Teacher teacher = new Teacher();
        // 观察者
        Student student = new Student("张三");
        // 将观察者注册到可观察对象的观察者列表中
        teacher.addObserver(student);
        teacher.action("--老师来了-----");
    }
}

